Elf: a Language for Logic Deenition and Veriied Metaprogramming
نویسنده
چکیده
We describe Elf, a metalanguage for proof manipulation environments that are independent of any particular logical system. Elf is intended for meta-programs such as theorem provers, proof transformers, or type inference programs for programming languages with complex type systems. Elf uniies logic deenition (in the style of LF, the Edinburgh Logical Framework) with logic programming (in the style of Prolog). It achieves this uniication by giving types an operational interpretation, much the same way that Prolog gives certain formulas (Horn-clauses) an operational interpretation. Novel features of Elf include: (1) the Elf search process automatically constructs terms that can represent object-logic proofs, and thus a program need not construct them explicitly, (2) the partial correct-ness of meta-programs with respect to a given logic can be expressed and proved in Elf itself, and (3) Elf exploits Elliott's uniication algorithm for a-calculus with dependent types.
منابع مشابه
Elf: A Language for Logic Definition and Verified Metaprogramming
We describe Elf, a metalanguage for proof manipulation environments that are independent of any particular logical system. Elf is intended for meta-programs such as theorem provers, proof transformers, or type inference programs for programming languages with complex type systems. Elf unifies logic definition (in the style of LF, the Edinburgh Logical Framework) with logic programming (in the s...
متن کاملRepresenting Proof Transformations for Program Optimization
In the proofs as programs methodology a program is derived from a formal constructive proof. Because of the close relationship between proof and program structure, transformations can be applied to proofs rather than to programs in order to improve performance. We describe a method for implementing transformations of formal proofs and show that it is applicable to the optimization of extracted ...
متن کاملMechanically Verifying the Correctness of an Offline Partial Evaluator
We show that using deductive systems to specify an offline partial evaluator allows one to specify, prototype, and mechanically verify correctness via meta-programming — all within a single framework. For a λ-mix-style partial evaluator, we specify binding-time constraints using a natural-deduction logic, and the associated program specializer using natural (aka “deductive”) semantics. These de...
متن کاملA Logic Programming Language with Lambda - Abstraction , Function Variables , and Simple Uni cationDale
It has been argued elsewhere that a logic programming language with function variables and-abstractions within terms makes a good meta-programming language, especially when an object-language contains notions of bound variables and scope. The Prolog logic programming language and the related Elf and Isabelle systems provide meta-programs with both function variables and-abstractions by containi...
متن کاملOn ASM-Based Speci cation of Programming Language Semantics and Reusable Correct Compilations
We deene general transformations on ASM speciications of programming language semantics. These transformations preserve the semantics of the programming language and can thus be used for the deenition of correct compilations. Additionally, we deene an extensible language AL for the speciication of dynamic programming language semantics and describe how this allows reuse of veriied transformatio...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1989